package com.qding.park.manager.facade.statis.service;

import java.util.List;

import com.qding.park.manager.common.pojo.ParkDataResult;
import com.qding.park.manager.pojo.example.StatisInterDayExample;
import com.qding.park.manager.pojo.example.StatisInterMonthExample;
import com.qding.park.manager.pojo.example.StatisPassDayExample;
import com.qding.park.manager.pojo.example.StatisPassMonthExample;

/**
 * @author Administrator
 *统计报表
 */
public interface StatisticsReportFacade {
	
	public static class InterMonth {

		private int carLockNum;// 锁车点击数 number @mock=13864
		private int feeNum;// 缴费点击数 number @mock=15563
		private int generaNum;// 代客缴费点击数 number @mock=12267
		private int hisRecordNum;// 历史记录点击数 number @mock=35532
		private int invitNum;// 邀请点击数 number @mock=64203
		private int reserveNum;// 预定点击数 number @mock=77503
		private String timeStr; // 时间区间
		private String parkName;

		public int getCarLockNum() {
			return carLockNum;
		}

		public void setCarLockNum(int carLockNum) {
			this.carLockNum = carLockNum;
		}

		public int getFeeNum() {
			return feeNum;
		}

		public void setFeeNum(int feeNum) {
			this.feeNum = feeNum;
		}

		public int getGeneraNum() {
			return generaNum;
		}

		public String getParkName() {
			return parkName;
		}

		public void setParkName(String parkName) {
			this.parkName = parkName;
		}

		public void setGeneraNum(int generaNum) {
			this.generaNum = generaNum;
		}

		public int getHisRecordNum() {
			return hisRecordNum;
		}

		public void setHisRecordNum(int hisRecordNum) {
			this.hisRecordNum = hisRecordNum;
		}

		public int getInvitNum() {
			return invitNum;
		}

		public void setInvitNum(int invitNum) {
			this.invitNum = invitNum;
		}

		public int getReserveNum() {
			return reserveNum;
		}

		public void setReserveNum(int reserveNum) {
			this.reserveNum = reserveNum;
		}

		public String getTimeStr() {
			return timeStr;
		}

		public void setTimeStr(String timeStr) {
			this.timeStr = timeStr;
		}

	}
	
	public static class PassMonth {

		private int freeCarNum;// 免费车次数
		private int inCheckNum;// 进场次数
		private int inManualNum;// 进场手动放行次数
		private int monthFee;// 月牌实收(分)
		private int monthShouldFee;// 月牌应收(分)	
		private String operator;// 操作员
		private int outCheckNum; // 出场次数
		
		
		private int outManualNum; // 出场手动放行次数
		private int parkFee; // 停车费
		private int totalFee; // 合计费用(分)
		private int workTime; // 上班时间
		private String parkName; // 车场名称
		private String timeStr; // 日期区间

		
		public int getFreeCarNum() {
			return freeCarNum;
		}

		public void setFreeCarNum(int freeCarNum) {
			this.freeCarNum = freeCarNum;
		}

		public int getInCheckNum() {
			return inCheckNum;
		}

		public void setInCheckNum(int inCheckNum) {
			this.inCheckNum = inCheckNum;
		}

		public int getInManualNum() {
			return inManualNum;
		}

		public void setInManualNum(int inManualNum) {
			this.inManualNum = inManualNum;
		}

		public int getMonthFee() {
			return monthFee;
		}

		public void setMonthFee(int monthFee) {
			this.monthFee = monthFee;
		}

		public int getMonthShouldFee() {
			return monthShouldFee;
		}

		public void setMonthShouldFee(int monthShouldFee) {
			this.monthShouldFee = monthShouldFee;
		}

		public String getOperator() {
			return operator;
		}

		public void setOperator(String operator) {
			this.operator = operator;
		}

		public int getOutCheckNum() {
			return outCheckNum;
		}

		public void setOutCheckNum(int outCheckNum) {
			this.outCheckNum = outCheckNum;
		}

		public int getOutManualNum() {
			return outManualNum;
		}

		public void setOutManualNum(int outManualNum) {
			this.outManualNum = outManualNum;
		}

		public int getParkFee() {
			return parkFee;
		}

		public void setParkFee(int parkFee) {
			this.parkFee = parkFee;
		}

		public int getTotalFee() {
			return totalFee;
		}

		public void setTotalFee(int totalFee) {
			this.totalFee = totalFee;
		}

		public int getWorkTime() {
			return workTime;
		}

		public void setWorkTime(int workTime) {
			this.workTime = workTime;
		}

		public String getParkName() {
			return parkName;
		}

		public void setParkName(String parkName) {
			this.parkName = parkName;
		}

		public String getTimeStr() {
			return timeStr;
		}

		public void setTimeStr(String timeStr) {
			this.timeStr = timeStr;
		}

	}
	
	ParkDataResult  passMonth(StatisPassMonthExample example,int jumpPage, int pageLength);
	
	/**
	 * @param example  日报查询条件
	 * 通行日报表
	 * @return
	 */
	ParkDataResult  passDay(StatisPassDayExample  example);
	/**
	 * @param example  查询条件
	 * @return  
	 * 交互日报表　　统计
	 */
	ParkDataResult  interDay(StatisInterDayExample  example);
	
	
	ParkDataResult  interMonth(StatisInterMonthExample example,int jumpPage,int pageLength);
	
	List<InterMonth> inter_month_export(StatisInterMonthExample example);
	
	List<PassMonth>  pass_month_export(StatisPassMonthExample example);

}
